Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Zadar Challenger Wimbledon - London U.S. Open - New York Hangzhou Open - Hangzhou Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris European Open - Brussels Spain F10 Spain F15 Spain F18 Spain F19 Spain F28 Spain F29 Spain F30 Spain F31 Spain F32 Spain F33 Spain F35 Spain F38 Spain F39 Spain F40 Spain F42 Spain F2 Spain F3 Spain F8 Spain F10 Spain F11 Spain F14 Spain F16 Spain F17 Spain F18 Spain F20 Spain F22 Spain F23 Spain F24 Spain F25 Spain F26 Spain F27 Spain F28 Spain F30 Spain F31 Spain F33 Spain F35 Spain F38 Spain F39 Spain F40 Spain F41 Spain F1 Spain F2 Spain F3 Spain F16 Bosnia & Herzegovina F2 Spain F17 Croatia F8 Bosnia/Herzegovina F6 Morocco F1 Morocco F2 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Spain F7 Spain F16 Estonia F1 Spain F29 Croatia F7 Croatia F8 Israel F3 Croatia F1 Croatia F2 Spain F7 Italy F3 Spain F11 Italy F6 Italy F7 Spain F14 Spain F15 Bosnia & Herzegovina F2 Spain F16 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Netherlands F2 Serbia F1 Serbia F2 Spain F22 Serbia F3 Spain F28 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Spain F37 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F11 Croatia F12 Turkey F2 Croatia F1 Croatia F2 Italy F1 Italy F5 Romania F3 Bosnia & Herzegovina F4 Serbia F3 Croatia F12 Spain F5 Croatia F5 Croatia F6 Croatia F7 Spain F24 Egypt F9 Egypt F10 Spain F27 (Donostia-San-Sebastian) Spain F6 (Xabia) Portugal F7 (Porto) M25 Denia M25 Oviedo M25 Riba - Roja de Turia M25 Murcia M15 Antalya M25 Prague M15 Madrid M15 Manacor M25 Villena M25 Cairo Bulgaria F1 Spain F20 Spain F6 Spain F9 Spain F19 Spain F16 Spain F41 Spain F42 Spain F43 Challenger Copa Sevilla 2008 - Seville Netherlands F3 Meknes Challenger Rabat Challenger Marrakech Challenger Sarajevo Challenger Monza Challenger Croatia F10 Rome Challenger M25 Santander Turin Challenger Oberstaufen Challenger Penza Challenger Saransk Challenger Vigo Challenger San Sebastian Challenger Seville Challenger Palermo Challenger Tarragona Challenger Florionapolis Challenger Cairo Challenger Alessandria Challenger Oberstaufen Challenger San Sebastian Challenger Barletta Challenger Orbetello Challenger Wuhai Challenger Beijing Challenger M25 Torello Como Challenger Seville Challenger Trnava Challenger Heilbronn Challenger Meknes Challenger Casablanca Challenger Blumenau Challenger Milan Challenger Scheveningen Challenger Poznan Challenger San Marino Challenger Cordenons Challenger Como Challenger Brasov Challenger Trnava Challenger Lermontov Challenger Prostejov Challenger Kosice Challenger Poznan Challenger Liberec Challenger M25 La Nucia Kazan Challenger Banja Luka Challenger Casablanca Challenger Irving Challenger Mersin Challenger San Benedetto Challenger Seville Challenger Geneva Challenger Morelos Challenger Irving Challenger Ostrava Challenger Vicenza Challenger Furth Challenger Prague Challenger Marburg Challenger XI Ciutat de Barcelona - Barcelona Poznan Challenger San Benedetto Challenger Scheveningen Challenger Liberec Challenger Seville Challenger Alphen Challenger Trnava Challenger Rome Challenger Mohammedia Challenger ATP Challenger Tour Finals Irving Challenger Guadalajara Challenger Prostejov Challenger Braunschweig Challenger M25 Mataro Scheveningen Challenger Alphen Challenger Mohammedia Challenger Montevideo Challenger M25 Oviedo Segovia Challenger Vicenza Challenger Tanger Challenger Blois Challenger BH Indoor Sarajevo - Sarajevo Scheveningen Challenger Tampere Challenger Marburg Challenger XI Ciutat de Barcelona - Barcelona Meerbusch Challenger Seville Challenger Szczecin Challenger Pozoblanco Challenger Cali Challenger Rome Challenger TEAN International - Alphen Aan Den Rijn Todi Challenger San Benedetto Challenger Tashkent Challenger Mallorca Challenger New Haven Challenger Seville Challenger Salzburg-Anif Challenger Tulln Challenger Seville Challenger San Sebastian Challenger Casablanca Challenger St. Brieuc Challenger Lugano Challenger Rome Challenger Casablanca Challenger Tashkent Challenger Kobe Challenger Trnava Challenger Bogota Challenger Moscow Challenger Braunschweig Challenger Ottignies-Louvain-la-Neuve Challenger Saransk Challenger Zagreb Challenger Bastad Challenger Montevideo Challenger Montemar Challenger Santo Domingo Challenger Cap Cana Challenger Meknes Challenger Kenitra Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger Bucaramanga Challenger Raanana Challenger Aix En Provence Challenger Heilbronn Challenger Szczecin Challenger Guayaquil Challenger Zadar Challenger Marbella Challenger Biella 1 Challenger Cortina Challenger Trnava Challenger Szczecin Challenger Marbella Challenger Canberra Challenger Heilbronn Challenger Caltanissetta Challenger Lisbon Challenger Istanbul Challenger Szekesfehervar Challenger Tunis Challenger Rome Challenger Marrakech Challenger Guayaquil Challenger Santo Domingo Challenger Todi Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Orleans Challenger Quimper Challenger Lyon Challenger Santos Challenger Milan Challenger Tunis Challenger Meerbusch Challenger Seville Challenger Sao Paulo Challenger Matsuyama Challenger Noumea Challenger Caltanissetta Challenger Monza Challenger Salzburg Challenger Mallorca Challenger Arad Challenger Manama Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Aptos Challenger Manerbio Challenger Meerbusch Challenger Rome 2 Challenger Nottingham 2 Challenger Trieste Challenger Meerbusch Challenger Barcelona Challenger Bergamo Challenger Bratislava Challenger Helsinki Challenger Lille Challenger Lugano Challenger Aix En Provence Challenger Mauthausen Challenger Amersfoort Challenger Cordenons Challenger Brest Challenger Banja Luka Challenger Sibiu Challenger Alicante Challenger Yokohama Challenger Antalya Challenger Maia Challenger Ostrava Challenger Ostrava Challenger Tunis Challenger Ilkley Challenger Heineken Open - Auckland Florence Challenger Open Sabadell Atlantico - Barcelona Brasov Challenger Lima Challenger Bratislava Challenger Medellin Challenger Maia Challenger Bendigo Challenger Penza Challenger Open Tarragona Costa Daurada - Tarragona Sibiu Challenger Split Challenger Barcelona Challenger Lisbon Challenger Guayaquil Challenger Gran Canaria 2 Challenger Zagreb Challenger Oeiras 3 Challenger If Stockholm Open - Stockholm Sibiu Challenger Erste Bank Open - Vienna Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier Estoril Open - Estoril Alphen Challenger Bendigo Challenger Alphen Challenger Rabat Challenger Bergamo Challenger Banja Luka Challenger Samarkand Challenger Szczecin Challenger Sao Paulo Challenger Sao Paulo Challenger Santo Domingo Challenger Heilbronn Challenger Arad Challenger Furth Challenger Kosice Challenger Rennes Challenger Tanger Challenger Meknes Challenger Troyes Challenger Barcelona Open BancSabadell - Barcelona San Luis Potosi Challenger Sarajevo Challenger Marbella Challenger Marrakech Challenger Mercedes Cup - Stuttgart Winston-Salem Open - Winston-Salem Ecuador Open - Quito PBZ Zagreb Indoors - Zagreb Cherbourg Challenger Grand Prix Hassan II - Casablanca Sarajevo Challenger Geneva Open - Geneva Mersin Challenger Studena Croatia Open - Umag Ecuador Open - Quito Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest St. Brieuc Challenger Millennium Estoril Open - Estoril Geneva Open - Geneva Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Delray Beach Open - Delray Beach Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Sydney International - Sydney ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos If Stockholm Open - Stockholm St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Credit Agricole Suisse Open - Gstaad Rome Challenger Alicante Challenger TEB BNP Paribas Istanbul Open - Istanbul Bratislava Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Erste Bank Open - Vienna BRD Nastase Tiriac Trophy - Bucharest Tunis Challenger Qatar ExxonMobil Open - Doha Astana Open - Nur-Sultan Abierto Mexicano Telcel - Acapulco SkiStar Swedish Open - Bastad Kremlin Cup - Moscow Mallorca Championships - Mallorca St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Lima Challenger Firenze Open - Florence Qatar ExxonMobil Open - Doha Plava Laguna Croatia Open - Umag Rio Open - Rio de Janeiro Rome Challenger Poznan Challenger Arad Challenger Serbia Open - Belgrade Anytech365 Andalucia Open - Marbella Grand Prix Hassan II - Casablanca Ostrava Challenger Poznan Challenger Argentina Open - Buenos Aires Millennium Estoril Open - Estoril Tiriac Open - Bucharest Nordea Open - Bastad Andria Challenger Serbia Open - Belgrade Cortina Challenger Vercelli Challenger Mercedes Cup - Stuttgart Boss Open - Stuttgart Eskisehir Challenger Genova Challenger Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Nottingham 1 Challenger Todi Challenger Madrid Challenger Seville Challenger Sarajevo Challenger Brisbane International - Brisbane Buenos Aires Challenger Kosice Challenger Seville Challenger Open 13 - Marseille Grand Prix Hassan II - Marrakech Santiago Challenger Buenos Aires Challenger Sibiu Challenger Alphen Challenger Valencia Open - Valencia Madrid Challenger Prostejov Challenger Aircel Chennai Open - Chennai Nordea Open - Bastad Erste Bank Open - Vienna TEB BNP Paribas Istanbul Open - Istanbul Barcelona Challenger Ostrava Challenger Sibiu Challenger Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Sibiu Challenger Lima Challenger Almaty Open - Almaty Valencia Open - Valencia Newport Beach Challenger Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Alicante Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Winston-Salem Open - Winston-Salem Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Tunis Challenger Aegon Nottingham Open - Nottingham Bet-at-home Open - Hamburg Konzum Croatia Open - Umag Braunschweig Challenger Erste Bank Open - Vienna Tampere Challenger Shenzhen Open - Shenzhen Kremlin Cup - Moscow Bratislava Challenger Bratislava 2 Challenger Garanti Koza Sofia Open - Sofia Memphis Open - Memphis New York Open - New York Dubai Duty Free Tennis Championships - Dubai Forli 5 Challenger Barcelona Open BancSabadell - Barcelona Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul China Open - Beijing Kenitra Challenger St. Petersburg Open - St. Petersburg Perugia Challenger Como Challenger Erste Bank Open - Vienna Open Sud de France - Montpellier Hamburg European Open - Hamburg Vancouver Challenger Lisbon Challenger Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Lima Challenger Banja Luka Challenger Plava Laguna Croatia Open - Umag Marbella Challenger Belgrade Challenger Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Split Challenger Zhuhai Open - Zhuhai China Open - Beijing Open Sud de France - Montpellier Seville Challenger Abierto Mexicano Telcel - Acapulco Open Sud de France - Montpellier Zug Challenger Segovia Challenger Rosario Challenger Santo Domingo Challenger Serbia Open - Belgrade Braga Challenger Movistar Chile Open - Santiago Plava Laguna Croatia Open - Umag Delray Beach Open - Delray Beach Open 13 Provence - Marseille Prague 2 Challenger Grand Prix Hassan II - Marrakech BMW Open - Munich bett1HULKS Championships - Cologne Istanbul Challenger Qatar ExxonMobil Open - Doha Stockholm Open - Stockholm Bratislava 2 Challenger Banja Luka Open - Banja Luka Hamburg Open - Hamburg Ismaning Challenger Helsinki Challenger Danderyd Challenger Barletta Challenger Nottingham 2 Challenger Bonn Challenger PBZ Zagreb Indoors - Zagreb Porto 2 Challenger Apia International - Sydney Topshelf Open - 's-Hertogenbosch Open Parc - Lyon Kremlin Cup - Moscow Brisbane International - Brisbane Open 13 Provence - Marseille TEB BNP Paribas Istanbul Open - Istanbul Abierto Mexicano de Tenis Mifel - Los Cabos ABN AMRO World Tennis Tournament - Rotterdam Vilnius Challenger Segovia Challenger Heilbronn Challenger Bratislava 1 Challenger Open Sabadell Atlantico - Barcelona Belgrade Open - Belgrade Adelaide International - Adelaide Barcelona Open Banc Sabadell - Barcelona Canberra Challenger Phoenix Challenger Hellenic Championship - Athens Generali Open - Kitzbuhel Bordeaux Challenger BNP Paribas Open - Indian Wells Mutua Madrilena Madrid Open - Madrid Sony Open Tennis - Miami BNP Paribas Masters - Paris Astana Open - Astana Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Western & Southern Open - New York Aircel Chennai Open - Chennai Stockholm Open - Stockholm BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Hangzhou Open - Hangzhou Japan Open Tennis Championships - Tokyo Dubai Duty Free Tennis Championships - Dubai Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Rogers Cup - Toronto Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai Miami Open - Miami National Bank Open - Toronto Cincinnati Open - Cincinnati Mutua Madrid Open - Madrid Moselle Open - Metz European Open - Antwerp China Open - Beijing German Tennis Championships - Hamburg Rakuten Japan Open - Tokyo Qatar ExxonMobil Open - Doha Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Internazionali BNL d'Italia - Rome Wimbledon - London French Open - Paris U.S. Open - New York Bucharest Open - Bucharest Internazionali BNL d'Italia - Rome French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 French Open (juniors) Davis Cup, Group II, 1R, BIH-LUX 4-1 Wimbledon (juniors) U.S. Open (juniors) Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, PO, UZB-BIH 1-3 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group I, 2R, BIH-NED 1-3 All Lower level tournaments Olympics - Rio de Janeiro Manacor Challenger Japan Open Tennis Championships - Tokyo